package com.ziroom.crm.mq.core.node;

import com.ziroom.crm.mq.core.processor.QueueWrapper;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * <p></p>
 * <p>
 * <PRE>
 * <BR>    修改记录
 * <BR>-----------------------------------------------
 * <BR>    修改日期         修改人          修改内容
 * </PRE>
 *
 * @author WeiShaoying
 * @version 1.0
 * @date Created in 2020年09月02日 10:14
 * @since 1.0
 */
public class NodeProvider {

    /**
     * {@link DefaultNode}s of the same resource in different name.
     */
    private static final Map<String, DefaultNode> NODE_MAP = new ConcurrentHashMap<>(10);

    /**
     * 初始化node,每个队列一个node
     * @author WeiShaoying
     * @date 2020年09月01日 16:45:40
     * @param queueWrapper
     * @return void
     */
    public static Node getNode(QueueWrapper queueWrapper) {
        NODE_MAP.putIfAbsent(queueWrapper.getName(), new DefaultNode());
        return NODE_MAP.get(queueWrapper.getName());
    }
}
